#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2021/4/19 下午2:37
# @Author  : fugang_le
# @Software: PyCharm


######################################### 利用自带的缓存机制提高效率 #########################################
from functools import lru_cache

'''
@functools.lru_cache(maxsize=None, typed=False)
maxsize：最多可以缓存多少个此函数的调用结果，如果为None，则无限制，设置为 2 的幂时，性能最佳
typed：若为 True，则不同参数类型的调用将分别缓存。
'''

@lru_cache(None)
def add(x, y):
    print("calculating: %s + %s" % (x, y))
    return x + y

print(add(1, 2))
print(add(1, 2))
print(add(2, 3))
######################################### 利用自带的缓存机制提高效率 #########################################